package com.quxiu.system.mapper;

import java.util.List;
import com.quxiu.system.domain.BpmProcNode;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 流程节点定义Mapper接口
 *
 * @author quxiu
 * @date 2024-06-14
 */
@Mapper
public interface BpmProcNodeMapper {
    /**
     * 查询流程节点定义
     *
     * @param nodeId 流程节点定义主键
     * @return 流程节点定义
     */
    public BpmProcNode selectBpmProcNodeByNodeId(@Param("nodeId") Long nodeId);

    /**
     * 查询流程节点定义列表
     *
     * @param bpmProcNode 流程节点定义
     * @return 流程节点定义集合
     */
    public List<BpmProcNode> selectBpmProcNodeList(BpmProcNode bpmProcNode);

    /**
     * 批量新增流程节点定义
     * @param list
     */
    void insertBatchBpmProcNode(List<BpmProcNode> list);

    /**
     * 删除流程节点定义
     *
     * @param nodeId 流程节点定义主键
     * @return 结果
     */
    public int deleteBpmProcNodeByNodeId(@Param("nodeId") Long nodeId);

    /**
     * 批量删除流程节点定义
     *
     * @param nodeIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBpmProcNodeByNodeIds(Long[] nodeIds);

    List<BpmProcNode> selectBpmProcNodeListByVersionId(@Param("versionId") Long versionId);

}
